/**********************************************************************************************/
// 4And.h
//
// Element 4And
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _4And_H_
#define	_4And_H_

#include "stdafx.h"
#include "dgtKernel.h"
#include "dgt_LogElement.h"

SMART_CLASS( dgt_And_Four_One );

/**********************************************************************************************/
class dgt_And_Four_One: public dgt_LogElement
{
	public://///////////////////////////////////////////////////////////////////////////////////

							dgt_And_Four_One( void );

							~dgt_And_Four_One( void );

public://///////////////////////////////////////////////////////////////////////////////////

	// Count of outputs
	unsigned long			get_DataInputCount( void )
	{ return 4; }
	unsigned long			get_DataOutputCount( void )
	{ return 1; }
	unsigned long			get_ServiceInputCount( void )
	{ return 0; }
	wxArrayString			get_ServiceInputNames( void )
	{ return wxArrayString( NULL ); }

	// Name of element
	wxString				get_Name( void )
		{ return m_Name; }

	// Mnemonic name of operation
	wxString				get_Mnemonic( void )
		{ return m_Mnem; }

	// Number of elemnets in one schema
	unsigned long			get_BlockCount( void )
		{ return m_BCount; }

	// Number of inputs of element
	unsigned long			get_InputCount( void )				
		{ return m_ICount; }

	// Function table of element
	wxArrayShort			get_Table( void )
		{ return m_table; }

private:////////////////////////////////////////////////////////////////////////////////////

	wxArrayShort			m_table;
	wxString				m_Name, m_Mnem;
	unsigned long			m_BCount, m_ICount;

};

#endif // _4And_H_